#ifndef __COMMANDER_H__
#define __COMMANDER_H__

#include "Errors.h"

class Commander {
private:
    String command;

public:
    Commander();

    String const *readRequest();

    void writeResponse(error_t const error);

    void writeResponse(String const &response);
};


class CommandProcessor {
public:
    virtual const bool isSupported(String const &request) = 0;

    virtual const error_t processCommand(String const &request, String &response) = 0;
};

#endif